import http from '@/utils/http';

/**
 * 获取当前登录用户好友列表
 */
export function getFriends() {
  return http.get('/user-friends/getFriends');
}

/**
 * 添加好友
 * @param {Long} friendId 好友ID
 */
export function addFriend(friendId) {
  return http.post('/user-friends/addFriend', { friendId });
}

/**
 * 同意好友请求
 * @param {Long} friendId 好友ID
 */
export function agreeFriend(friendId) {
  return http.put(`/user-friends/agreeFriend/${friendId}`);
}

/**
 * 拒绝好友请求
 * @param {Object} friendId
 */
export function refuseFriend(friendId) {
  return http.delete(`/user-friends/refuseFriend/${friendId}`);
}

/**
 * 删除好友
 * @param {Long} friendId 好友ID
 */
export function deleteFriend(friendId) {
  return http.delete(`/user-friends/deleteFriend/${friendId}`);
}

/**
 * 获取所查看用户的共同好友
 * @param {Long} userId 用户ID
 */
export function getCommonFriends(userId) {
  return http.get(`/user-friends/getCommonFriends/${userId}`);
}

/**
 * 判断是否是好友
 * @param {Object} userId
 */
export function getIfFriend(userId) {
	return http.get(`/user-friends/isFriend/${userId}`);
}

/**
 * 判断指定用户是否已经发送过添加请求（当前登录用户是否已对目标用户发过请求）
 * @param {Number|String} userId 目标用户的ID
 * @returns {Promise} 请求的 Promise 对象，返回 boolean 表示是否已请求
 */
export function hasRequested(userId) {
    return http.get(`/user-friends/isRequested/${userId}`);
}
